1. Field of the Invention
The present invention relates to an object-oriented software development support technology, and more specifically to an object-oriented software development support apparatus for systematically defining a pattern, for example, an analysis pattern, a design pattern, and an implementation pattern, with which the operations and the structure of an object-oriented model can be defined, automatically detailing a model by applying the above described patterns to a model to be developed, and automatically generating a source code applicable to the model.
2. Description of the Related Art
An object-oriented software technology refers to a technology of developing software using something in the present world (object) as a configuration unit. Recently, a number of object-oriented analysis and design techniques have been suggested.
In the object-oriented analysis and design techniques, a procedure of generating a specification to be described in analysis and design is determined. To generate the above described specifications, software analysis and design support apparatuses for supporting the specification generating operation have been used.
In these software analysis and design support apparatuses, for example, to obtain excellent design, the know-how of a previously generated design is represented as a pattern for good repeatability. The pattern can also be used to share the know-how in a developing project.
Relating to the above described pattern, there are design patterns describing the structure of a plurality of objects designed to solve a problem, for example, describing class groups and the behaviors of the class groups when a design is set. When an implementing process is performed, an implementation pattern is used as a coding know-how about source code. Similarly, when an analyzing process is performed, an analysis model can be used. A developer can reuse the development know-how by developing a software model and program based on the pattern, thereby improving the productivity of the software. and design patterns are summarized and published as a book (for example, xe2x80x98DESIGN PATTERN FOR REUSE IN OBJECT-ORIENTED CONCEPTxe2x80x99 by E. Gamma, et al. and published by SoftBank). However, a method of using the patterns has been followed to prepare a specification by applying individual analysis patterns and design patterns to a practical model to be developed. Since various patterns have been introduced by publications, there has been the problem that it is difficult to perform a series of operations of fully understanding the patterns, finding out an appropriate pattern as a model to be developed, determining a usage for an application to be developed, and actually applying the pattern. Although the pattern have been fully understood, there has been the problem that the ratio of a pattern applied to an application is low.
The conventional apparatuses for supporting the application of patterns have been an apparatus (Tokukaihei 9-237180) for preparing a specification by applying a pattern, and an apparatus (Tokukaihei 9-198242) for checking whether or not a pattern can be correctly applied to a model. However, with these apparatus, a user specifies, when a pattern is applied, the correspondence between the component of a pattern and the component of a model to be designed by a developer. Therefore, the efficiency of a pattern applying operation cannot be greatly improved.
On the other hand, an automatic program generating technique for automatically applying a pattern through a macro development has been used. However, in the conventional method (Tokukaihei 1-191233, Tokukaisho 61-72338), it is necessary to specify a value for replacing (developing) a macro to perform a macro (variable) development.
The present invention aims at providing an object-oriented software development support apparatus and method for attain the following five objects: 1) to systematically register patterns, apply the patterns based on the systematic architecture, appropriately and efficiently reuse the patterns, and efficiently support the development of software; 2) to obtain a higher ratio of the patterns applicable to a model to be developed as well as existing patterns by newly defining the patterns extracted for the application of a developer; 3) to automatically generate a source code applied to a specification as well as to generate a specification by applying a pattern; 4) to automatically generate a model and a program desired by a developer by easily defining various object-oriented patterns; 5) to efficiently and automatically generate software by reducing the necessity of specifying various items by the developer by only specifying the location of data for the development within the patterns themselves.
The object-oriented software development support apparatus according to the first aspect of the present invention includes: a pattern architecture storage unit for storing pattern information about a plurality of applicable patterns and inter-pattern relevant information for association among patterns having an antecedent/consequent relationship when the software is developed; and a pattern application unit for applying to a model to be developed a pattern whose application has been approved by the user among the patterns stored in the pattern architecture storage unit and detailing the model, and supporting the development of software corresponding to the model. Furthermore, the pattern application unit can be externally provided with a pattern application history information storage unit storing an application history of a pattern by recording and referring to the pattern applied by the pattern application unit; and a pattern application history interpretation unit for obtaining the reusability, for example, the number of applying processes, of each pattern and a pattern architecture by referring to the history information stored in the pattern application history information storage unit.
The object-oriented software development support apparatus according to the second aspect of the present invention includes: a pattern information definition unit for defining pattern information applicable, when an object-oriented software is developed, according to the externally obtained pattern definition information; a pattern storage unit for storing the defined pattern information; and a pattern application unit for detailing a model by applying the pattern information stored in the pattern storage unit to a model to be developed, and supporting the development of software corresponding to the model. In addition, the pattern application unit of the object-oriented software development support apparatus according to the second aspect of the present invention can be connected to an external pattern interpretation unit.
In addition, a computer-readable storage medium, for use in the object-oriented software development support apparatus according to the present invention, storing a program to direct a computer to perform the Steps of: storing pattern information about a plurality of patterns applicable when the object-oriented software is developed, and inter-pattern relevant information for association among patterns having an antecedent/consequence relationship among the plurality of patterns when the software is developed; and applying to a model to be developed a pattern whose application has been approved by the user among the stored patterns, detailing the model, and supporting the development of the software corresponding to the model.